/* article.js */
import http from "@/utils/http";

export const articleApi = {
  /**
   * 新增文章 (POST请求)
   * @param {Object} data 新增数据
   * @param {string} data.title 文章标题
   * @param {string} data.cover 文章封面
   * @param {string} data.content 文章内容
   * @param {string} data.introduce 文章简介
   * @returns {Promise} 请求Promise
   */
  addArticle(data) {
    return http.post("/article/v1/articles/upload", data);
  },
  /**
   * 修改文章 (POST请求)
   * @param {Object} data 新增数据
   * @param {string} data.id 对应修改的id
   * @param {string} data.title 文章标题
   * @param {string} data.cover 文章封面
   * @param {string} data.content 文章内容
   * @param {string} data.introduce 文章简介
   * @returns {Promise} 请求Promise
   */
  updateArticle(data) {
    return http.post("/article/v1/articles/update", data);
  },
  /**
   * 通过id获取文章
   * @param {string} id 对应文章id 需要是作者本人
   * @returns {Promise} 请求Promise
   */
  getByIdArticle(id) {
    return http.post("/article/v1/articles/getByIdArticle", id);
  },
  /**
   * 文章分页条件查询
   */
  articlePagingConditionQuery(data) {
    return http.post("/article/v1/articles/getArticleList", data);
  },
  /**
   * 删除文章接口
   * @param {string} id 文章id
   * @returns
   */
  deleteArticle(id) {
    return http.post("/article/v1/articles/delete", id);
  },
  /**
   * 通过文章id获取文章，不需要是作者本人
   * @param {string} id 文章id
   */
  getByIdArticleNoNeed(id) {
    return http.get("/article/v1/articles/getByIdArticleNoNeed", { id: id });
  },
  /**
   * 用户对文章点赞或取消点赞
   * @param {*} data 
   * @returns 
   */
  likeArticle(data) {
    return http.post("/article/v1/articles/liked", data);
  },
  /**
   * 判断用户是否点赞了该文章
   */
  isLikedArticle(articleId) {
    return http.get("/article/v1/articleLikes/isLikedArticle", articleId);
  },
};